Methods, systems, and computer program products for implementing intelligent agent services

ABSTRACT

An aspect includes generating an ontological domain based upon information elements, which elements represent aspects of detectable behaviors of an individual. A portion of the behaviors are captured via input of the individual, and another portion is received from a source that is independent of the computer and absent any user input. The generating includes creating subdomains of contextually organized collections of the information elements by topic, comparing the information elements across the subdomains, determining relationships of the information elements across topics based on common features, and determining relevance of the relationships across the subdomains based on measurable aspects of the information elements, whereby the relationships determined to be relevant are identified as an interest of the individual. The services also include searching sources of information using the information elements having the relationships determined to be relevant, and transmitting a solution to a device associated with the individual.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.13/674,125, filed Nov. 12, 2012, the contents of which are incorporatedby reference herein in their entirety, which is a continuation of Ser.No. 13/279,617, filed Oct. 24, 2011, now U.S. Pat. No. 8,346,715, thecontents of which are incorporated by reference herein in theirentirety, which is a continuation of U.S. patent application Ser. No.12/543,546, filed Aug. 19, 2009, now U.S. Pat. No. 8,069,137, thecontents of which are incorporated by reference herein in theirentirety, which is a continuation U.S. patent application Ser. No.11/314,614, filed Dec. 20, 2005, now U.S. Pat. No. 7,590,649, thecontents of each of which are incorporated by reference herein in theirentirety.

BACKGROUND

The present invention relates generally to automated data collection andprocessing, and more particularly, to methods, systems, and computerprogram products for implementing ontological domain and contextuallyintelligent agent services.

Information is ubiquitously created and exchanged using a variety ofcommunications technologies and systems. Various techniques have beenemployed to capture and organize information in a way that facilitatesquick and simple retrieval and subsequent utilization. Intelligentdevices, or artificial intelligence devices, have been developed forattempting to codify specific information about a discipline, or domain,which can then be used for a variety of purposes.

In addition, collaborative filtering techniques have been used toaggregate similar information sets from multiple individuals and providea summary opinion. Another technique has employed ontologically relatedsystems for allowing domain experts to create ontologies that can beused for drawing inferences. However, these pre-defined domains do notreflect the personalized needs, interests, or preferences of people atan individual level. Nor do these domains dynamically change over timeas the preferences or interests of an individual change.

What is needed, therefore, is a way to address the individualpreferences, interests, and needs of individuals by automaticallycollecting individual-specific information and generating customizedontological domains for use in analysis and inferences. What is alsoneeded is a way to identify and present specific solutions that addressthe needs, preferences, and interests of individuals.

BRIEF SUMMARY

Exemplary embodiments include methods, systems, and computer programproducts for implementing intelligent agent services. A method includesgenerating, via a computer, an ontological domain for an individualbased upon information elements. The information elements representaspects of detectable behaviors of the individual over time. At least aportion of the detectable behaviors are captured via user-generatedinput of the individual monitored by the computer, and at least anotherportion of the detectable behaviors are received from a source that isindependent of the computer and absent any user-generated input of theindividual. The ontological domain is generated by creating subdomainsof contextually organized collections of the information elements bytopic, comparing the information elements across the subdomains,determining relationships of the information elements across topicsindicated by the subdomains based on common features associated with theinformation elements, and determining, via the computer, a relevance ofthe relationships among the information elements across the subdomainsbased on measurable aspects of the information elements with respect tofrequency of occurrence, geolocation, time, or any combination thereof,wherein the relationships determined to be relevant are identified as aninterest of the individual. The method also includes searching sourcesof information using the information elements having the relationshipsdetermined to be relevant, and transmitting a solution to a deviceassociated with the individual, the solution identified from results ofthe searching as satisfying the interest.

Other systems, methods, and/or computer program products according toembodiments will be or become apparent to one with skill in the art uponreview of the following drawings and detailed description. It isintended that all such additional systems, methods, and/or computerprogram products be included within this description, be within thescope of the present invention, and be protected by the accompanyingclaims.

BRIEF DESCRIPTION OF DRAWINGS

Referring now to the drawings wherein like elements are numbered alikein the several FIGURES:

FIG. 1 depicts a system upon which the ontological domain andintelligent agent services may be implemented in exemplary embodiments;

FIG. 2 is a flow diagram describing a process for implementing theontological domain services in exemplary embodiments;

FIG. 3 is a data structure including sample data fields for storinginformation elements and creating records for use in implementing theontological domain services in exemplary embodiments;

FIG. 4 is a database of records created using the data structuredepicted in FIG. 3 in exemplary embodiments;

FIG. 5 is a record illustrating a sample ontological domain used inimplementing the ontological domain services in exemplary embodiments;

FIG. 6 is a sample notification that includes an interest resulting fromimplementation of the ontological domain services in exemplaryembodiments;

FIG. 7 is a flow diagram describing a process for implementing theintelligent agent services in exemplary embodiments; and

FIG. 8 is a sample notification that includes content resulting from theimplementation of the intelligent agent services in exemplaryembodiments.

The detailed description explains the exemplary embodiments, togetherwith advantages and features, by way of example with reference to thedrawings.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

In accordance with exemplary embodiments, ontological domain andcontextually intelligent agent services are provided. Informationelements for detectable behaviors are gathered and an ontological domainis defined that reflects the information elements in terms oftransactions, locations, queries, and other behavioral indicators thatoccur within a physical and/or virtual geography and in relation totime. The ontological domain may be considered to be a contextualorganization of an information domain around a concept. Detectablebehaviors may include any type of activity, presence, transaction, etc.,that is capable of being detected by a human and/or machine.

The ontological domain is self-governing and may include one or moredomain categories, or sub-domains that provide an information structurethat enables orthogonally related elements among the sub-domains to beascertained and utilized. An interest can be determined from analyzingthe ontological domain. An interest may include any type of informationthat is determined to be of value or relevance to a particularindividual. An interest may also include a need of the individual. Anidentified interest may be used by the contextually intelligent agentservices to identify and search sources of information for addressingthe interest. The intelligent agent services look for matches amonginformation elements found within the information sources andinformation elements relating to the interest. Any matches are analyzedin order to determine a likely solution to the interest. The solution isthen made available to the relevant individual or entity. Theontological domain services are described in FIGS. 1-6 and theintelligent agent services are described in FIGS. 1, 5, and 7-8.

Turning now to FIG. 1, a system upon which the ontological domain andintelligent agent services may be implemented in accordance withexemplary embodiments will now be described. The system of FIG. 1includes a host system 102 in communication with devices 110, 112, and116, as well as information sources 104, 106, and 108 via one or morenetworks 117. Host system 102 may be implemented by a service providerof the ontological domain and intelligent agent services describedherein. For example, host system 102 may be operated by a networkservice provider that provides Internet, Web, cable television,telephone, or other similar type of services to customers, in additionto the ontological domain and intelligent agent services. Alternatively,host system 102 may be implemented by an application service provider(ASP) or other service enterprise.

In exemplary embodiments, information sources 104, 106, and 108 includea merchant 104, a financial institution 106, and a web serverinformation source 108. Merchant 104 may be a ‘brick and mortar’ entitythat provides products and/or services to customers at a geographiclocation (e.g., a local hardware store, a grocery market, a gas station,a retail chain establishment, etc.). Additionally, or alternatively,merchant 104 may be a ‘virtual’ establishment that provides goods and/orservices over a network via, e.g., a website.

Financial institution 106 refers to a bank, credit union, or otherentity that provides financial services (e.g., checking/savingsaccounts, loans, mortgages, investments, credit services, etc.) tocustomers. Financial institution 106 may be a ‘brick and mortar’facility and/or a virtual establishment, similar to the merchant 104described above.

In exemplary embodiments, Web server source 108 refers to a networkentity that provides information (e.g., in response to requests,queries, searches, etc.) to requesting individuals. Web server source108 includes server software executing on a processor and a data storewith network connectivity and may provide access to information in itsdata store via a web site or portal to individuals. An example of aninformation source implemented by Web server source 108 is a Web Log orBLOG established for users in a BLOG community or a personal websitemaintained and operated by an individual. Alternatively, web serversource 108 may include websites that provide information such as linkdirectories, white papers, reference libraries, etc.

The information sources described above are provided for illustrativepurposes. It will be appreciated that any number and type of informationsources that provide electronic information, products, and/or servicesmay be utilized in implementing the exemplary embodiments describedherein.

In exemplary embodiments, a mobile communications device 110, a usersystem 112, a financial instrument 114, and a global positioning system(GPS) device 116 are also included in the system of FIG. 1. Each ofthese items 112-116 may be under the control of an individual or entity(e.g., a business). Mobile communications device 110 may be a cellulartelephone, personal digital assistant (PDA), pager, laptop, or a hybriddevice that utilizes various communications technologies (e.g., digitalwireless and over-the-air) technologies.

The user system 112 refers to a personal computer or desktop device,that is network-enabled via, e.g., digital subscriber line (DSL),dial-up, or other similar type of networking systems and services. Usersystem 112 may execute applications, such as a web browser, wordprocessing tool, messaging application, etc.

Financial instrument 114 may be a credit card, bank or automated tellermachine (ATM) card, retailer credit card, check, or other similar typeof negotiable instrument.

GPS device 116 may be located in an automobile (not shown), a mobiledevice (e.g., device 110), or other object.

In exemplary embodiments, host system 102 is in communication with astorage device 122, which is also included in the system of FIG. 1.Storage device 122 stores a variety of information including, e.g.,information element records, ontological domains, notifications andagent messages (also referred to herein as “publications”) as will bedescribed further herein. Storage device 122 may be implemented using avariety of devices for storing electronic information. It will beunderstood that the storage device 122 may be implemented using memorycontained in the host system 102 or may be a separate physical device.The storage device 122 is logically addressable as a consolidated datasource across a distributed environment that includes network(s) 117.Information stored in the storage device 122 may be retrieved andmanipulated via the host system 102.

The host system 102 depicted in FIG. 1 may be implemented using one ormore servers operating in response to a computer program stored in astorage medium accessible by the server(s). The host system 102 mayoperate as a network server (e.g., a web server) to communicate with theinformation sources 104, 106, and 108, mobile communications device 110,user system 112, and GPS device 116. The host system 102 handles sendingand receiving information to and from these devices and can performassociated tasks. The host system 102 may also include a firewall toprevent unauthorized access to the host system 102 and enforce anylimitations on authorized access. For instance, an administrator mayhave access to the entire system and have the authority to modifyportions of the system. A firewall may be implemented using conventionalhardware and/or software as is known in the art.

The host system 102 may also operate as an application server. The hostsystem 102 executes one or more computer programs to provide ontologicaldomain and intelligent agent services. As shown in the system of FIG. 1,host system 102 is executing an ontological domain (OD) application 118for implementing the ontological domain services, as well as an agentapplication 120 for implementing the intelligent agent services.Processing may be shared by other network entities (e.g., informationsources 104-108, and/or devices 110, 112, 114, 116 and the host system102 by providing an application (e.g., java applet) to these systems.Alternatively, these systems can include stand-alone softwareapplications for performing a portion of the processing describedherein. As previously described, it is understood that separate serversmay be utilized to implement the network server functions and theapplication server functions.

Furthermore, the host system 102 may be integral with one of the devices110, 112, 114, or 116. In this example, the OD application 118 and theagent application 120 would be embedded or enabled by one of thosedevices 110, 112, 114, or 116 without the need for a separate hostsystem 102. A single device 110, 112, 114, or 116 would therefore becapable not only of detecting and communicating information but also ofacting on that information through the OD application 118 and the agentapplication 120 which are resident on that device 110, 112, 114, or 116.As an example, consider an individual hiking on a mountain with a device110. The device 110 may be able to detect the altitude, the GPS locationof the individual, and receive weather information that warns ofimpending severe weather conditions. The device 110 may also haveobtained information on a tent previously purchased by the individualand the purchase of a cabin rental. The OD application 118 detects aneed for the individual to take protective action and the agentapplication 120 provides possible solutions, such as immediately goingback down the mountain to the cabin or information on how and where topitch the tent to be protected from the elements. In addition to havingthe host system 102, which includes the OD application 118 and agentapplication 120, resident on one of the devices 110, 112, 114, or 116,the host system 102 may reside on multiple of the devices 110, 112, 114,or 116 and/or the processing of the OD application 118 and the agentapplication 120 may be shared among devices 110, 112, 114, or 116.

The network(s) 117 may be any type of known networks including, but notlimited to, a wide area network (WAN), a local area network (LAN), aglobal network (e.g. Internet), a virtual private network (VPN), anintranet, or a combination thereof. The network(s) 117 may beimplemented using wireless network technologies or any kind of physicalnetwork implementation known in the art. Mobile communications device110, user system 112, GPS device 116, and/or the host system 102 may beconnected to the network(s) 117 in a wireless fashion.

Turning now to FIG. 2, a process for implementing the ontological domainservices will now be described in accordance with exemplary embodiments.The ontological domain services provide a mechanism for automating thecollection of information that is derived from detectable behaviors.These behaviors may be conducted via any of devices 110, 112, 114, and116 and/or via any of information sources 104, 106 and 108. At step 202,host system 102 receives information elements from a source. Theinformation source of these elements may be one or more of mobilecommunications device 110, user system 112, GPS device 116, or any ofinformation sources 104, 106, and 108. For example, the detectablebehavior might be an individual accessing a website of a travel agency(e.g., merchant 104) via user system 112 and, using financial instrument114 to purchase a reservation at a hotel. A set of information elementsthat may be produced by this behavior may include the name, address, andphone number of the individual ordering the reservation, the name of thehotel, the date of the reservation, the cost of the room, the method ofpayment (e.g., account number, card issuer, etc.), the name andidentification (e.g., website address) of the travel agent, and othersimilar types of information elements. Much, if not all, of thisinformation is easily captured during the purchase/order transaction.

A record of the transaction from which these information elements may beextracted is typically handled by the financial institution (e.g., 106)that processes the charge on behalf of the individual, the merchant(e.g., 104) via a reservation confirmation, and/or the individual via anelectronic sales receipt transmitted, e.g., via email to the individualat the user system 112. Because much of this information may beconfidential, the host system 102 providing the ontological domainservices may establish a trusted relationship with specified sources ofinformation in order to protect the identity of the individual and/orthe privacy information contained in these information elements. Thetrusted relationship may include secure channels of communication (viae.g., encryption, virtual private networking technologies, and othertools for protecting confidential information).

In another example, the detectable behavior may be the presence of theindividual in a geographic location. If the individual carries acellular telephone (e.g., mobile communications device 110), thedetectable behavior may include the presence of the individual in aspecific location (e.g., cell) that is detected by a servicing celltower, whereby the individual's cellular telephone communicates a signalto the cell tower, which in turn, notifies the host system 102 (eithervia the cellular telephone itself or directly). The set of informationelements may include the identification of the location, the date, timeand/or duration of the presence in the location, or other types ofinformation.

A similar type of detectable behavior may be the location of theindividual using GPS device 116. The detectable behavior may be acquiredvia the device 116, which sends a signal to a satellite, and which inturn, provides the location information to the host system 102 ordirectly to the device (e.g., automobile) that is carrying the GPSdevice 116. These information elements are collected by the ontologicaldomain application 118 over a period of time (e.g., days, weeks, months,etc.).

In another example, a detectable behavior may be the presence of anindividual at a particular function, e.g., a road race. The informationelements may be derived from a combination of sources, such as aregistration to participate in the event via a website and GPSinformation derived from the individual's presence at the event. Theinformation elements produced from the web site registration may includethe nature of the function (e.g., road race), and the date and time ofthe event. The relationships between the registration information (e.g.,date, time, and function), coupled with the GPS information (e.g., thelocation of the individual at the same date and time noted in theregistration) provide a full picture of the behavior.

Returning now to FIG. 2, the ontological domain application 118 filtersthe set of information elements and selects primary terms and/or tagsfrom these elements at step 204. This may be accomplished, for example,by eliminating commonly occurring words, such as “a”, “the”, “an”, “or”,etc. from the information set. The primary terms and/or tags may becaptured and stored in a record using a standardized construct or datastructure and corresponding data fields at step 206. A sample datastructure 300 is shown in FIG. 3. The data fields include a RECORDIDENTIFIER that may be used to uniquely identify a particular recordwhich, in turn, stores a set of information elements. Each record mayinclude multiple behaviors that may simultaneously occur at a givenpoint in time. Other data fields provided in data structure 300 will bedescribed in more detail in FIG. 4.

Turning now to FIG. 4, a database of records (including sample data)produced using the data structure 300 of FIG. 3 will now be described inaccordance with exemplary embodiments. Database 400 of FIG. 4 includesmultiple records that are identified in column 402A and stored inchronological order in the database 400. As shown in database 400, therecords span a time period from Dec. 1, 2005 through Mar. 1, 2006(column 402B). The time periods provided in column 402B reflect the dateof the occurrence of the corresponding behavior. Likewise, the timecolumn 402C indicates a time of the occurrence of the correspondingbehavior. Each row in database 400 reflects a record. The data fieldscapturing the filtered information elements are shown as 402B-402I.Thus, for example, an individual frequented Anna's Market at 9:00 a.m.on Dec. 1, 2005. Anna's Market is located on Main Street. The individualpurchased bread at the market for $5.00. The filtered informationelements, or primary terms, from this activity are stored in the firstRecord of database 400.

As indicated above, multiple behaviors may be detected for a singleactivity or behavior. While only two columns are shown in database 400(e.g., column 402F and 402G) to reflect a single behavior, it will beappreciated that additional columns may be provided in database 400 toreflect these multiple behaviors. It will also be appreciated thatinformation elements may be acquired from a behavior that do not neatlyfall into the specific columns or data fields provided in database 400.An OTHER column 402H provides flexibility in enabling additionaldescriptive information elements to be captured. For example, Record 2illustrates that an individual purchased a Mercedes® automobile andwithin this purchase transaction, the current mileage of the vehicle iscaptured and stored in the record. Column 402I reflects a VALUE columnthat enables a value to be entered that corresponds to the nature of thebehavior. For example, the cost of the vehicle in the second record isprovided in the value column 402I, while the duration of a web search isprovided in the value column 402I of Record 8 of database 400. Othervalues may be indicated in column 402I, e.g., cost savings.

Turning back to FIG. 2, the application 118 creates an ontologicaldomain at step 208 using the records produced in step 206, a sample ofwhich is shown in FIG. 5. The ontological domain application 118linguistically assembles the collected information into sub-domains thatare categorized using an arbitrarily formed and self-organizedclassification scheme. In other words, the ontological domain is notpre-defined by a “domain expert” but is dynamically created, defined,and refined over time based upon newly collected information and ananalysis engine or component of the ontological domain application 118.

As shown in FIG. 5, the ontological domain includes sub-domains 502-510,namely, AUTO 502, TRAVEL 504, RECREATION 506, BIRDS 508, and HOME 510.Each sub-domain provides a contextually-organized collection ofinformation elements using, e.g., a topical index produced from thebehaviors. Each sub-domain, therefore, is customized according to theparticular behaviors of an individual or actuator. For example, a shownin FIG. 5, sub-domain 510 includes a collection of home-relatedinformation elements that are grouped by topic (e.g., the individual'shome). Note that the elements provided in sub-domain 510 reflect thebehaviors produced and tracked, in part, in Records 4, 6, and 8-10 ofdatabase 400. Likewise, detectable behaviors used in collecting elementsfor sub-domain 502 may include, e.g., purchasing a car (Record 2),servicing the car, purchasing gasoline, and enrolling in an automobileservicing program.

Returning to FIG. 2, the ontological domain is analyzed by theontological domain application 118. The analysis may be implementedusing various combinations of search strings (e.g., concatenating two ormore data fields 402B-402I) and searching the records for patterns,frequency, etc., that indicate one or more relationships among theelements. In addition, or alternatively, the analysis may include somepre-defined logic for assisting in the analysis. The analysis mayinclude determining the relevance of each of the information elementsbased upon measurable aspects, e.g., quantity, frequency, costs,redundancy, history, relative location, time, duration, value, or acombination thereof at step 210. The relevance of these informationelements may be determined by applying weights using these aspects inorder to ascertain the significance of these behaviors at step 212. Theanalysis is useful in understanding the potential importance orsignificance of the information elements to the individual. Theserelevance determinations may change over time as new behaviors aredetected and analyzed.

Potential relationships among elements between sub-domains aredetermined at step 214 and any relevance of these relationships. Forexample, using the ontological domain 500 of FIG. 5, suppose thatsub-domain 502 reflects that the mileage on the individual's car is20,000 as reflected by the service history (which also reflects that thelast servicing was 3 months ago at the time of purchase). Suppose also,that the sub-domain 504 reflects that the individual booked a trip to ahotel in Vermont in March of 2006 (as shown in Record Y1 of database 400of FIG. 4). Also suppose that the distance between the individual'sresidence and the hotel in Vermont is 200 miles. This distance may beacquired by acquiring the location of the individual's residence fromsub-domain 510 and calculating the distance between the locations using,e.g., a mapping tool). The ontological domain application 118 analyzesthe elements within these sub-domains in order to assess anyrelationships among them. The analysis results in a relationship betweenthe sub-domains 502, 504, and 510 with respect to the automobile, therecreation, and the residence, respectively. The relationshipsdetermined among the sub-domain elements may result in a proposed orpredicted interest for the individual at step 216; namely, theautomobile may need to be serviced if a trip to Vermont is imminent. Asshown in FIG. 2, this analysis is a looping process (step 214 returns tostep 208) in order to account for newly acquired information.

At step 218, the ontological domain application 118 may publish theresults of the analysis for the benefit of the individual. Theindividual may access the results in a number of ways. For example, theresults may be formatted into a message format. A sample message 600 isshown and described in FIG. 6. The message 600, or notification, may betransmitted to the individual via network(s) 117, e.g., as an email,telephone communication, text message, or other means. The message 600may be stored on any of devices 110, 112, or 116.

As indicated above, contextual intelligent agent services are alsoprovided by the host system 102. The intelligent agent services areimplemented via agent application 120 executing on the host system 102and provide a mechanism for enabling automated intelligent agents toacquire and synthesize disparate types of information from a variety ofinformation sources, and to present relevant and useful information torespective individuals, entities, and/or servicing agents that requestthese services. The intelligent agent services may be facilitated usinginformation collected about an individual and/or by information directlyprovided by the individual. Alternatively, or in addition, theintelligent agent services may be facilitated using information acquiredfrom one or more ontological domains (e.g., from the interest resultingfrom the process described in FIG. 2).

Turning now to FIG. 7, a process for implementing the intelligent agentservices will now be described in accordance with exemplary embodiments.At step 702, an interest is identified. As indicated above, the agentapplication 120 may receive this information, e.g., directly from anindividual in the form of a request or it may be ascertained using,e.g., the results of the analysis performed on an ontological domain(e.g., domain 500). For example, suppose there is an interest in findinga vacation destination that is suitable for a family of four during themonth of July.

The agent application 120 utilizes an agent that creates a search stringat step 703 from the information elements and searches for informationsources (e.g., information sources 104-108 of FIG. 1) that maypotentially address the interest at step 704. This may be performedusing various techniques, such as searching a database of informationsources using key word search techniques (e.g., key words that reflect,identify, or describe the interest). A commercial search engine may beemployed for identifying information sources as well. In addition,information sources may not be entirely electronic sources ofinformation, but rather may be a combination of electronic, human,and/or mechanical sources of information. Using the above example, thesearch string used in the search may include [vacation+touristattractions+July+family friendly+hotel+airline], etc. In addition, ifthe agent application 120 utilizes an ontological domain (e.g., domain500) for the individual in this request, additional information elementsmay be inferred for this key word search, e.g., children's ages,residence of family from sub-domain 510 (e.g., in order to determine thenearest airport), interests (e.g., sub-domain 506 and 508 elements),etc.

Once one or more information sources are identified, the agent gathersinformation elements from these one or more sources via communicationstransmission technologies including, e.g., Rich Site Summary (RSS), FileTransfer Protocol (FTP), BitTorrent, etc. at step 706. The informationgathered may be formatted using a standardized data structure similar tothe one shown and described in FIG. 3.

At step 708, the information elements gathered in step 706 are comparedwith information elements associated with the interest in order toidentify any matches. At step 710, it is determined whether any matcheshave been found. If not, the process returns to step 706 whereinformation continues to be gathered. Otherwise, the agent application120 determines if the matches exceed a threshold at step 711. If so, thesearch string is modified at step 712 and the flow returns to step 706.The threshold is provided in order to ensure that only the most relevantinformation is returned (e.g., too many results may indicate that thesearch string is too broad and would not provide useful, relevantinformation).

If, however, the matches do not exceed the threshold at step 711, theintelligent agent application 120 analyzes the matches at step 714. Theanalysis may include determining the relevance of the informationelements in a manner similar to that described in step 212 of FIG. 2(e.g., by using the threshold criteria).

At step 716, the agent application 120 uses the results of the analysisto determine whether a solution exists for satisfying the interest(i.e., whether there is at least one relevant match). If not, theprocess returns to step 712 whereby a new search string (broadened) isgenerated for the agent. Otherwise, the match is formatted forpublication at step 720. The solution, or match, may be represented asan agent message, or publication, a sample of which is shown anddescribed in FIG. 8. Using the above example, the message may include alist of vacation destinations. As shown in a sample message 800 of FIG.8, solutions are organized in a topical format, namely, CRUISES,ADVENTURE TRAVEL, and BEST DEALS 802. The user selects BEST DEALS, whichcauses a sub-window 804 to be presented. As shown in sub-window 804, theindividual is presented with two options, “Busch Gardens, Fla.” and NewYork City, N.Y.”. The solution may include choices of hotels thatprovide a discount based upon the time of travel, the ages of thechildren, and the method of payment, to name a few. In addition, thesolution for Busch Gardens reflects the interests of the individual(i.e., an event featuring an exhibit of exotic birds corresponding tosub-domain 508 of FIG. 5). The solution for New York City reflects theinterests of the individual (i.e., Metropolitan Museum of Art exhibit inJuly corresponding to sub-domain 506 of FIG. 5).

In exemplary embodiments, the intelligent agent application 120 mayinitiate multiple agents for generating multiple searches, each of whichrelate to a specific interest. Thus, at any given time there may be manyagents actively searching for information solutions to specifiedinterests associated with a single individual.

In addition, exemplary embodiments may offer a service plan that enablesindividuals to request development and maintenance of personalizedontological domains, e.g., for a servicing fee. The ontological domainservices may provide services based upon time (e.g., per month), numberof interests per individual, or other criteria. Furthermore, the same orindependent service provider may provide intelligent agent services toindividuals using similar service plan criteria (e.g., per month, numberof interests), or may be structured around a number of agents employed.

As indicated above, the ontological domain and intelligent agentservices provide an automated, self-governing tool for collecting andprocessing information elements as a result of detectable behaviors, andanticipating an interest as a result. The intelligent agent servicesalso facilitate the search and acquisition of relevant information inanticipation of an interest, or in response to a request for a solutionfor an interest.

As described above, the exemplary embodiments can be embodied in theform of computer-implemented processes and apparatuses for practicingthose processes. The exemplary embodiments can also be embodied in theform of computer program code containing instructions embodied intangible media, such as floppy diskettes, CD ROMs, hard drives, or anyother computer-readable storage medium, wherein, when the computerprogram code is loaded into and executed by a computer, the computerbecomes an apparatus for practicing the embodiments. The exemplaryembodiments can also be embodied in the form of computer program code,for example, whether stored in a storage medium, loaded into and/orexecuted by a computer, or transmitted over some transmission medium,loaded into and/or executed by a computer, or transmitted over sometransmission medium, such as over electrical wiring or cabling, throughfiber optics, or via electromagnetic radiation, wherein, when thecomputer program code is loaded into an executed by a computer, thecomputer becomes an apparatus for practicing the embodiments. Whenimplemented on a general-purpose microprocessor, the computer programcode segments configure the microprocessor to create specific logiccircuits.

While the invention has been described with reference to exemplaryembodiments, it will be understood by those skilled in the art thatvarious changes may be made and equivalents may be substituted forelements thereof without departing from the scope of the invention. Inaddition, many modifications may be made to adapt a particular situationor material to the teachings of the invention without departing from theessential scope thereof. Therefore, it is intended that the inventionnot be limited to the particular embodiments disclosed for carrying outthis invention, but that the invention will include all embodimentsfalling within the scope of the claims. Moreover, the use of the termsfirst, second, etc. do not denote any order or importance, but ratherthe terms first, second, etc. are used to distinguish one element fromanother. Furthermore, the use of the terms a, an, etc. do not denote alimitation of quantity, but rather denote the presence of at least oneof the referenced item.

What is claimed is:
 1. A method, comprising: generating, via a computer,an ontological domain for an individual based upon information elements,the information elements representing aspects of detectable behaviors ofthe individual over time, at least a portion of the detectable behaviorsbeing captured via user-generated input of the individual monitored bythe computer, and at least another portion of the detectable behaviorsbeing received from a source that is independent of the computer andabsent any user-generated input of the individual, the generating theontological domain comprising creating subdomains of contextuallyorganized collections of the information elements by topic; comparingthe information elements across the subdomains; determiningrelationships of the information elements across topics indicated by thesubdomains based on common features associated with the informationelements; determining, via the computer, a relevance of therelationships among the information elements across the subdomains basedon measurable aspects of the information elements with respect tofrequency of occurrence, geolocation, time, or any combination thereof,wherein the relationships determined to be relevant are identified as aninterest of the individual; searching sources of information using theinformation elements having the relationships determined to be relevant;and transmitting a solution to a device associated with the individual,the solution identified from results of the searching as satisfying theinterest.
 2. The method of claim 1, further comprising: formatting thesolution into a message prior to the transmitting the solution.
 3. Themethod of claim 1, wherein the searching sources of information furthercomprises: creating a search string from the information elements havingthe relationships determined to be relevant; gathering data in responseto the searching using the search string and comparing the data to theinformation elements having the relationships determined to be relevant;and identifying matches between the data and the information elementshaving the relationships determined to be relevant; wherein the solutionis identified based on a threshold number of the matches.
 4. The methodof claim 1, further comprising: dynamically updating the ontologicaldomain over time by iteratively detecting behaviors of the individualand gathering the information elements in response to the detecting;updating the subdomains with the information elements resulting from thegathering; and updating the interest based upon updates made to thesubdomains.
 5. The method of claim 1, further comprising: storing eachof the information elements in a record using a data structure havingcorresponding data fields, the record including a unique identifier;storing the record in a storage device; and creating the subdomains ofthe ontological domain by identifying matching information elements fromthe data fields among other records in the storage device usingcorresponding unique identifiers.
 6. The method of claim 1, wherein therelationships of the information elements are orthogonal relationships.7. The method of claim 1, further comprising: establishing a securecommunications channel with a computer processor of the source that isindependent of the computer; and receiving, from the source, electronicdata indicating a transaction between the individual and the source;wherein the other portion of the detectable behaviors being receivedfrom a source and absent any user-generated input by the individualincludes information elements from the electronic data.
 8. The method ofclaim 1, wherein the source is a mobile device having a globalpositioning system, and the detectable behaviors received from a sourceand absent any user-generated input by the individual include a locationof the individual received from the mobile device over a network.
 9. Themethod of claim 1, wherein the source is a mobile device having a globalpositioning system, and the detectable behaviors received from a sourceand absent any user-generated input by the individual include a locationof the individual received from the mobile device over a network; andthe detectable behaviors captured via the user-generated input of theindividual include an indication of a registration for a function, alocation of the function, and a date of the function; wherein theorthogonal relationships determined to be relevant identify a presenceof the individual at the function that is determined based on matchinginformation elements between the detectable behaviors captured via theuser-generated input and the detectable behaviors that received from thesource absent any user-generated input by the individual.
 10. A system,comprising: a host system computer; and memory comprisingcomputer-executable instructions that, when executed by the host systemcomputer, cause the host system computer to perform operations, theoperations comprising: generating an ontological domain for anindividual based upon information elements, the information elementsrepresenting aspects of detectable behaviors of the individual overtime, at least a portion of the detectable behaviors being captured viauser-generated input of the individual monitored by the host systemcomputer, and at least another portion of the detectable behaviors beingreceived from a source that is independent of the host system computerand absent any user-generated input of the individual, the generatingthe ontological domain comprising creating subdomains of contextuallyorganized collections of the information elements by topic; comparingthe information elements across the subdomains; determiningrelationships of the information elements across topics indicated by thesubdomains based on common features associated with the informationelements; determining a relevance of relationships among the informationelements across the subdomains based on measurable aspects of theinformation elements with respect to frequency of occurrence,geolocation, time, or a combination thereof, wherein the relationshipsdetermined to be relevant are identified as an interest of theindividual; searching sources of information using the informationelements having the relationships determined to be relevant; andtransmitting a solution to a device associated with the individual, thesolution identified from results of the searching as satisfying theinterest.
 11. The system of claim 10, wherein the operations furthercomprise: formatting the solution into a message prior to thetransmitting the solution.
 12. The system of claim 10, wherein thesearching sources of information further comprises: creating a searchstring from the information elements having the relationships determinedto be relevant; gathering data in response to the searching using thesearch string and comparing the data to the information elements havingthe relationships determined to be relevant; and identifying matchesbetween the data and the information elements having the relationshipsdetermined to be relevant; wherein the solution is identified based on athreshold number of the matches.
 13. The system of claim 10, wherein theoperations further comprise: dynamically updating the ontological domainover time by iteratively detecting behaviors of the individual andgathering the information elements in response to the detecting;updating the subdomains with the information elements resulting from thegathering; and updating the interest based upon updates made to thesubdomains.
 14. The system of claim 10, wherein the operations furthercomprise: storing each of the information elements in a record using adata structure having corresponding data fields, the record including aunique identifier; and storing the record in a storage device; andcreating the subdomains of the ontological domain by identifyingmatching information elements from data fields among other records inthe storage device using corresponding unique identifiers.
 15. Thesystem of claim 10, wherein the relationships of the informationelements are orthogonal relationships.
 16. A computer program productincluding a non-transitory computer storage medium having instructionsembodied thereon, which when executed by a computer cause the computerto implement operations comprising: generating an ontological domain foran individual based upon information elements, the information elementsrepresenting aspects of detectable behaviors of the individual overtime, at least a portion of the detectable behaviors being captured viauser-generated input of the individual monitored by the computer, and atleast another portion of the detectable behaviors being received from asource that is independent of the computer and absent any user-generatedinput of the individual, the generating the ontological domaincomprising creating subdomains of contextually organized collections ofthe information elements and information elements by topic; comparingthe information elements across the subdomains; determiningrelationships of the information elements across topics indicated by thesubdomains based on common features associated with the informationelements; determining a relevance of relationships among the informationelements across the subdomains based on measurable aspects of theinformation elements with respect to frequency of occurrence,geolocation, time, or a combination thereof, wherein the relationshipsdetermined to be relevant are identified as an interest of theindividual; searching sources of information using the informationelements having the relationships determined to be relevant; andtransmitting a solution to a device associated with the individual, thesolution identified from results of the searching as satisfying theinterest.
 17. The computer program product of claim 16, wherein thesearching sources of information further comprises: creating a searchstring from the information elements having the relationships determinedto be relevant; gathering data in response to the searching using thesearch string and comparing the data to the information elements havingthe relationships determined to be relevant; and identifying matchesbetween the data and the information elements having the relationshipsdetermined to be relevant; wherein the solution is identified based on athreshold number of the matches.
 18. The computer program product ofclaim 16, wherein the operations further comprise: dynamically updatingthe ontological domain over time by iteratively detecting behaviors ofthe individual and gathering the information elements in response to thedetecting; updating the subdomains with the information elementsresulting from the gathering; and updating the interest based uponupdates made to the subdomains.
 19. The computer program product ofclaim 16, wherein the operations further comprise: storing each of theinformation elements in a record using a data structure havingcorresponding data fields, the record including a unique identifier;storing the record in a storage device; and creating the subdomains ofthe ontological domain by identifying matching information elements fromdata fields among other records in the storage device usingcorresponding unique identifiers.
 20. The computer program product ofclaim 16, wherein the relationships of the information elements areorthogonal relationships.